#ifndef INFINITY_CAMERA_DEBUG_H
#	define INFINITY_CAMERA_DEBUG_H

#include "cameracontroller.h"
#include "inputs/command.h"

namespace infinity {
class CameraDebug
	: public CameraController
{

public : //! @name Construction & Destruction
	//! @{
	CameraDebug();
	virtual ~CameraDebug();
	//! @}

public : //! @name methodes
	//! @{
	/*virtual*/ void update(dw::float32 deltaT);
	/*virtual*/ void onRegistered();
	/*virtual*/ void onUnRegistered();


	//! @}

protected : //! @name Service callbacks
	//! @{

	//! @}

private : //! @name Data
	//! @{

	dw::float32 m_cameraSpeed;

	dw::inputs::InputCommand m_cameraSpeedUp;
	dw::inputs::InputCommand m_cameraSpeedDown;

	dw::inputs::InputCommand m_flyForward;
	dw::inputs::InputCommand m_flyBackward;
	dw::inputs::InputCommand m_flyLeft;
	dw::inputs::InputCommand m_flyRight;

	dw::inputs::InputCommand m_mousePan;
	dw::inputs::InputCommand m_mouseRotate;

	dw::inputs::InputCommand m_resetCamera;

	//! @}
};
}// namespace infinity


#endif // !INFINITY_CAMERA_DEBUG_H
